import argparse
import StreamLearn.Dataset.TTADataset as datasets
import StreamLearn.Network.ResNetTTA as models

__all__ = ["configs"]

configs = argparse.Namespace()
configs.method = argparse.Namespace()
configs.stream = argparse.Namespace()
configs.model = argparse.Namespace()

configs.method.name   = "ODS"
configs.method.method = "ODS"
configs.method.optim = argparse.Namespace()
configs.method.optim.lr = 1e-4
configs.method.optim.wd = 0.0
configs.method.optim.iabn_k = 4
configs.method.optim.bn_momentum = 0.01
configs.method.optim.knn = 5
configs.method.queue_size = 64
configs.method.use_learnt_stats = True
configs.method.capacity = 1024

configs.stream.name = "CIFAR10-10"
configs.stream.dataset_dir = ""
configs.stream.batch_size = 64
configs.stream.dataset = datasets.CIFAR10CB
configs.stream.num_class = 10
configs.stream.severities = [5]
configs.stream.corruptions = [
    "gaussian_noise", "shot_noise", "impulse_noise",
    "defocus_blur", "glass_blur", "motion_blur", "zoom_blur",
    "snow", "frost", "fog", "brightness", "contrast",
    "elastic_transform", "pixelate", "jpeg_compression"]
configs.stream.bind_class = [0, 0, 0, 1, 1, 1, 1, 8, 8, 8, 8, 9, 9, 9, 9]
configs.stream.bind_ratio = 10

configs.model.archtecture = models.ResNet18
configs.model.checkpoint_dir = ""